Python实现简单遗传算法

该博客介绍了一个使用Python实现的简单遗传算法,旨在寻找函数f(x)=x+10sin(5x)+7cos(4x)在0<=x<=9范围内的最大值。程序包括初始化种群、基因编码、计算目标函数值、适应度函数计算、自然选择(轮盘赌算法)、基因交换和基因突变等步骤。实验结果显示最佳解为24.8505,相关代码已上传至GitHub。
摘要由CSDN通过智能技术生成

  本程序用于遗传算法求解函数最大值:f(x)=x+10sin(5x)+7cos(4x),0<=x<=9

  主要过程有初始化种群,基因编码,计算目标函数值,求解适应度函数,自然选择(采用轮盘赌算法),基因交换,基因突变。

  初始化种群:

pop = [[0, 1, 0 , 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] for i in range(popsize)]  # 初始化种群

  改进的初始化种群方式:

pop = [[0, 0, 0 , 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] for i in range(m)]  # 初始化种群
pop.extend([[0, 0, 1 , 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] for i in range(m)])
pop.extend([[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值